iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Modern Web

Git 起來!每日一招學起來系列 第 2

Day 2:git commit —— 按下結帳鍵,把購物車的東西送進歷史

  • 分享至 

  • xImage
  •  

歡迎來到《Git 起來!每日一招學起來》的第二天!

昨天我們學會了 git add,把檔案放進「購物車」準備提交。

今天,我們要學的是 git commit
就是 按下結帳鍵,把購物車的東西正式存入 Git 歷史


git commit 是什麼?

簡單來說,git commit 的角色就是:

把暫存區的檔案「打包」成一個版本,存入 Git 的版本庫。

Git 流程回顧:購物網站比喻

Git 的三個區域我們在 Day 1 認識過:

  • 工作目錄(Working Directory) 👉 你實際修改的檔案
  • 暫存區(Staging Area / Index) 👉 放進「購物車」的東西
  • 版本庫(Repository) 👉 真的被記錄下來的歷史

Git 的工作流程分成三個區域

整個流程可以想像成:

  1. 修改檔案 → 挑商品(工作目錄的修改)
  2. git add → 將商品放進購物車(暫存區)
  3. git commit → 按下結帳鍵,正式買下商品,進入歷史紀錄(版本庫)

就算暫存區有東西,如果沒有 commit,也不會被記錄。
暫存區就像「購物車」;commit 則是「結帳」,把你選好的內容永久保存。


基本用法

最常用的 commit 指令:

# 建立一次 commit
git commit -m "加入首頁設計"

# 建立 commit 並同時加入暫存區裡未 add 的檔案
git commit -a -m "修正錯字"

# 只提交暫存區裡指定的檔案(忽略其他已暫存檔案)
git commit --only index.js -m "只提交一個指定的檔案"
git commit --only index1.js index2.js -m "只提交兩個指定的檔案"

參數說明

  • m "訊息":給這次 commit 一個說明
  • a:自動將已追蹤檔案的變更加入 commit(不用再手動 git add
  • --only <檔案>:只對暫存區裡指定檔案建立 commit,不會一次把暫存區全部提交

寫好 commit message 的技巧

一個好的 commit message 可以幫助你與團隊快速理解歷史:

<type>(<scope>): <簡短描述>
  • type:表示這次提交屬於哪種類型的修改
  • scope:可選,說明修改範圍
  • 簡短描述:一句話說明修改內容

範例:

feat(login): 新增社群登入功能
fix(button): 修正送出按鈕點擊失效
refactor: optimize database queries

常見 type 說明

type 英文原意 用途說明
feat feature(功能) 新增功能,或對使用者有明顯影響的變更
fix fix(修復) 修正程式錯誤或 Bug
docs documentation(文件) 僅修改文件內容,不影響程式碼
refactor refactor(重構) 重構程式碼,但不改變功能(例如: 優化結構、提高可讀性)
chore chore(雜務) 與功能無關的修改(例如: 建置流程、設定檔、套件更新)

進階小技巧:修改最後一次 commit

如果 commit 後發現訊息寫錯,可以用:

git commit --amend -m "正確的 commit 訊息"

⚠️ 注意:若這次 commit 已經 push 到遠端,修改 commit 會改變歷史,請小心使用。


常見錯誤

  1. 忘記 add 就 commit
    • 會看到「nothing to commit」訊息
  2. Commit 訊息太隨便
    • 例如「修修修」、「改了一下」 → 團隊看不懂

小挑戰 💪

  1. 修改一個檔案,先 git add 放進暫存區,再用 git commit 提交。
  2. 嘗試用 git commit -a 提交修改的檔案(不先 add)。
  3. 修改 commit message,使用 git commit --amend 改成更清楚的訊息。

小結

今天我們學到:

  • git commit 就是「結帳鍵」,把暫存區的檔案存入版本庫
  • 好的 commit message 可以讓專案歷史清楚、好維護
  • git commit -a-amend 是常用進階技巧

明日預告

明天我們會聊 Day 3:git status & git log —— 你的專案 GPS 🗺️

讓你隨時掌握專案狀態,不再迷路。


上一篇
Day 1:從 git add 開始 —— 把東西放進「購物車」
下一篇
Day 3:git status & git log —— 你的專案 GPS
系列文
Git 起來!每日一招學起來3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言